iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0
自我挑戰組

Tensorflow學習日記系列 第 2

Tensorflow學習日記Day2 深度學習的原理

  • 分享至 

  • xImage
  •  

一、神經傳導原理
深度學習就是模擬人類神經元的運作,可得到一條公式:
https://chart.googleapis.com/chart?cht=tx&chl=y%3Dactivation%20function(x1w1%2Bx2w2%2Bx3*w3%2Bb1)
x 輸入,模擬輸入神經元,接收外界訊息,上述有三個輸入神經元。
y 接收,模擬接收神經元。
w權重,模擬軸突,連接輸入與接收神經元。
b偏差值,模擬突觸的結構,代表接收神經元容易被活化的程度,偏差值越高越容易被活化,上述只有一個接收神經元,故只有一個偏差值。
Activation function激活函數,+模擬神經傳導的運作方式,當接收神經元,接受刺激的總和https://chart.googleapis.com/chart?cht=tx&chl=(x1w1%2Bx2w2%2Bx3*w3%2Bb),經過激活函數的運算,大於臨界值會傳遞至下一個神經元,常見的激活函數,如sigmoid或relu。
 
Activation function
通常為非線性函數,加入激活函數可處理較複雜非線性問題。
Sigmoid :f(x)=1/1+e的負x次方
小於臨界值,忽略。當x<-5,輸出y接近0。
大於臨界值,接收。當x範圍介於-5~5x,值變大y值也變大。
刺激到一定程度會鈍化,當x>5,y值趨近於1。

Relu function
小於臨界值,忽略。當https://chart.googleapis.com/chart?cht=tx&amp;chl=x%3C0,輸出y是0。
大於臨界值,接收。當https://chart.googleapis.com/chart?cht=tx&amp;chl=x%3E0,y值=x。

二、矩陣運送模擬神經網路
上面的步驟是模擬單一接收神經元,多個接收神經元的神經網路如下:
https://scontent-nrt1-1.xx.fbcdn.net/v/t1.15752-9/70591508_591369914728590_3789323076869554176_n.png?_nc_cat=103&amp;_nc_oc=AQnktTLkaHIk_c8y9DhH2Sny6xBBkXZrIGgzzWEzTzEutlcol0waDAGvuZGql_lEAe4&amp;_nc_ht=scontent-nrt1-1.xx&amp;oh=f3a104aae9e8922d1220e79a5f93811f&amp;oe=5E38B428
三、多層感知器模型(Multilayer perceptron):
簡稱MLP
分為輸入層input layer 隱藏層hidden layer 和輸出層output layer
輸入層與隱藏層的公式:https://chart.googleapis.com/chart?cht=tx&amp;chl=hn%3Drelu(x*wn%2Bbn)
n是數字0~層數
隱藏層和輸出層公式:
https://chart.googleapis.com/chart?cht=tx&amp;chl=y%3Dsoftmax(hn*wn%2B1%2Bbn%2B1)
Softmax和Relu都是激活函數
https://scontent-nrt1-1.xx.fbcdn.net/v/t1.15752-9/71187245_525461094949733_9001555667714048000_n.png?_nc_cat=103&amp;_nc_oc=AQkGIX-KaWVRi4S2PjRmcA9yDtd1EL6Pkun_UGNWB5l76wWhvK-lroXra3Iz60vdwEI&amp;_nc_ht=scontent-nrt1-1.xx&amp;oh=4a7ac93f3100babd8523bc961d821263&amp;oe=5DF1CC61

四、Back Propagation反向演算法
資料預處理產生features 和labels
建立模型:以亂數初始化模型的權重和偏差值
訓練過程:
分為傳播propagation 和權重更新weight update

  1. Propagation
    輸入features 進行運算得到輸出
  2. Weight update
    利用loss function 就算輸出和labels之間的誤差,再最優化Optimizer ,依照偏差值更新w和b
  3. Loss function

輸出(預測結果)
0 1 2 3 4
0.1 0.3 0.2 0.9 0.4
上面的表格代表出現1的機率是0.1出現2的機率是0.2出現三的機率是0.9,是90%

Labels實際值
0 1 2 3 4
0 0 0 1 0
實際值是3

4.Optimizer(最優化)使用某種數值方法不斷訓練更新w和b的值來找到誤差值最小的w和b組合
通常是使用隨機梯度下降法來進行最優化。
隨機梯度下降法(SGD)比較通俗的說法是一個在山上的人正在找山谷的最低點,因為霧大能見度低,所以看不見下山的路,他只能利用局部訊息來找到最小值,觀察當前位置山的陡峭程度沿著下降梯度最大的方向前進來找到最低點。
而我們則是用SGD來找到最小誤差值。

資料來源:TensorFlow +keras深度學習人工智慧實務應用


上一篇
TensorFlow 學習日記Day1 人工智慧深度學習機器學習是什麼?
下一篇
Tensorflow學習日記Day3 TensorFlow和Keras
系列文
Tensorflow學習日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言